home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / modules.lha / modules / libraries / realtime.m < prev    next >
Encoding:
Text File  |  2002-01-03  |  2.3 KB  |  100 lines

  1. MODULE 'exec/tasks','exec/libraries','utility/hooks'
  2.  
  3. OBJECT Conductor
  4.   Link:Node,
  5.   Reserved0:UWORD,
  6.   Players:MinList,
  7.   ClockTime:ULONG,
  8.   StartTime:ULONG,
  9.   ExternalTime:ULONG,
  10.   MaxExternalTime:ULONG,
  11.   Metronome:ULONG,
  12.   Reserved1:UWORD,
  13.   Flags:UWORD,
  14.   State:UBYTE
  15.  
  16. #define CONDUCTF_EXTERNAL  (1<<0)  
  17. #define CONDUCTF_GOTTICK   (1<<1)  
  18. #define CONDUCTF_METROSET  (1<<2)  
  19. #define CONDUCTF_PRIVATE   (1<<3)  
  20.  
  21. OBJECT Player
  22.   Link:Node,
  23.   Reserved0:BYTE,
  24.   Reserved1:BYTE,
  25.   Hook:PTR TO Hook,
  26.   Source:PTR TO Conductor,
  27.   Task:PTR TO Task,
  28.   MetricTime:LONG,
  29.   AlarmTime:LONG,
  30.   UserData:VOID,
  31.   PlayerID:UWORD,
  32.   Flags:UWORD
  33.  
  34. #define PLAYERF_READY     (1<<0)  
  35. #define PLAYERF_ALARMSET   (1<<1)  
  36. #define PLAYERF_QUIET     (1<<2)  
  37. #define PLAYERF_CONDUCTED  (1<<3)  
  38. #define PLAYERF_EXTSYNC    (1<<4)  
  39. #define PLAYERB_READY     0
  40. #define PLAYERB_ALARMSET   1
  41. #define PLAYERB_QUIET     2
  42. #define PLAYERB_CONDUCTED  3
  43. #define PLAYERB_EXTSYNC    4
  44. #define PLAYER_Base       (TAG_USER+64)
  45. #define PLAYER_Hook       (PLAYER_Base+1)  
  46. #define PLAYER_Name       (PLAYER_Base+2)  
  47. #define PLAYER_Priority      (PLAYER_Base+3)  
  48. #define PLAYER_Conductor     (PLAYER_Base+4)  
  49. #define PLAYER_Ready      (PLAYER_Base+5)  
  50. #define PLAYER_AlarmTime     (PLAYER_Base+12) 
  51. #define PLAYER_Alarm      (PLAYER_Base+13) 
  52. #define PLAYER_AlarmSigTask  (PLAYER_Base+6)  
  53. #define PLAYER_AlarmSigBit   (PLAYER_Base+8)  
  54. #define PLAYER_Conducted     (PLAYER_Base+7)  
  55. #define PLAYER_Quiet      (PLAYER_Base+9)  
  56. #define PLAYER_UserData      (PLAYER_Base+10)
  57. #define PLAYER_ID       (PLAYER_Base+11)
  58. #define PLAYER_ExtSync      (PLAYER_Base+14) 
  59. #define PLAYER_ErrorCode     (PLAYER_Base+15) 
  60.  
  61. OBJECT pmTime
  62.   Method:ULONG,
  63.   Time:ULONG
  64.  
  65. OBJECT pmState
  66.   Method:ULONG,
  67.   OldState:ULONG
  68.  
  69. OBJECT RealTimeBase
  70.   LibNode:Library,
  71.   Reserved0[2]:UBYTE,
  72.   Time:ULONG,
  73.   TimeFrac:ULONG,
  74.   Reserved1:UWORD,
  75.   TickErr:WORD
  76.  
  77. CONST RealTime_TickErr_Min=-705,
  78.  RealTime_TickErr_Max=705,
  79.  TICK_FREQ=1200,
  80.  CONDUCTB_EXTERNAL=0,
  81.  CONDUCTB_GOTTICK=1,
  82.  CONDUCTB_METROSET=2,
  83.  CONDUCTB_PRIVATE=3,
  84.  CONDSTATE_STOPPED=0,
  85.  CONDSTATE_PAUSED=1,
  86.  CONDSTATE_LOCATE=2,
  87.  CONDSTATE_RUNNING=3,
  88.  CONDSTATE_METRIC=-1,
  89.  CONDSTATE_SHUTTLE=-2,
  90.  CONDSTATE_LOCATE_SET=-3,
  91.  RT_CONDUCTORS=0,
  92.  RTE_NOMEMORY=801,
  93.  RTE_NOCONDUCTOR=802,
  94.  RTE_NOTIMER=803,
  95.  RTE_PLAYING=804,
  96.  PM_TICK=0,
  97.  PM_STATE=1,
  98.  PM_POSITION=2,
  99.  PM_SHUTTLE=3
  100.